/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package olimpus.dom;

import olimpus.genericos.Coneccion;
import olimpus.obj.Usuarios;
import olimpus.per.UsuariosPer;
import java.sql.Connection;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Leonardo
 */
public class UsuariosDom
{  
   public static Usuarios obtenerUsuarios(String xUsuario) throws Exception
   {  
       Usuarios objUsuarios = new Usuarios();
       Coneccion objCon = new Coneccion();
       Connection con = objCon.getConeccion();

       try
       {
           objUsuarios = UsuariosPer.obtenerUsuarios(con, xUsuario);
       }
       catch (Exception ex)
       {
           con.rollback();
           Logger.getLogger(UsuariosDom.class.getName()).log(Level.SEVERE, null, ex);
           throw new Exception("Dominio--> " + ex.getMessage());
       }
       finally
       {
           con.close();
       }
       return objUsuarios;
   }

   public static boolean existeUsuarios(String xUsuario) throws Exception
   {  
       boolean existe;
       Coneccion objCon = new Coneccion();
       Connection con = objCon.getConeccion();

       try
       {
           existe = UsuariosPer.existeUsuarios(con, xUsuario);
       }
       catch (Exception ex)
       {
           con.rollback();
           Logger.getLogger(UsuariosDom.class.getName()).log(Level.SEVERE, null, ex);
           throw new Exception("Dominio--> " + ex.getMessage());
       }
       finally
       {
           con.close();
       }
       return existe;
   }

   public static ArrayList<Usuarios> obtenerColeccionUsuarios() throws Exception
   {  
       ArrayList<Usuarios> colUsuarios = new ArrayList<Usuarios>();
       Coneccion objCon = new Coneccion();
       Connection con = objCon.getConeccion();

       try
       {
           colUsuarios = UsuariosPer.obtenerColeccionUsuarios(con);
       }
       catch (Exception ex)
       {
           con.rollback();
           Logger.getLogger(UsuariosDom.class.getName()).log(Level.SEVERE, null, ex);
           throw new Exception("Dominio--> " + ex.getMessage());
       }
       finally
       {
           con.close();
       }
       return colUsuarios;
   }

   public static void altaUsuarios(Usuarios xObjUsuarios) throws Exception
   {  
       Coneccion objCon = new Coneccion();
       Connection con = objCon.getConeccion();

       try
       {
           UsuariosPer.altaUsuarios(con, xObjUsuarios);
           con.commit();
       }
       catch (Exception ex)
       {
           con.rollback();
           Logger.getLogger(UsuariosDom.class.getName()).log(Level.SEVERE, null, ex);
           throw new Exception("Dominio--> " + ex.getMessage());
       }
       finally
       {
           con.close();
       }
   }

   public static void bajaUsuarios(Usuarios xObjUsuarios) throws Exception
   {  
       Coneccion objCon = new Coneccion();
       Connection con = objCon.getConeccion();

       try
       {
           UsuariosPer.bajaUsuarios(con, xObjUsuarios);
           con.commit();
       }
       catch (Exception ex)
       {
           con.rollback();
           Logger.getLogger(UsuariosDom.class.getName()).log(Level.SEVERE, null, ex);
           throw new Exception("Dominio--> " + ex.getMessage());
       }
       finally
       {
           con.close();
       }
   }

   public static void modificaUsuarios(Usuarios xObjUsuarios) throws Exception
   {  
       Coneccion objCon = new Coneccion();
       Connection con = objCon.getConeccion();

       try
       {
           UsuariosPer.modificaUsuarios(con, xObjUsuarios);
           con.commit();
       }
       catch (Exception ex)
       {
           con.rollback();
           Logger.getLogger(UsuariosDom.class.getName()).log(Level.SEVERE, null, ex);
           throw new Exception("Dominio--> " + ex.getMessage());
       }
       finally
       {
           con.close();
       }
   }
}

